package com.cy.store.mapper;

import com.cy.store.domain.Address;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import javax.xml.crypto.Data;
import java.util.Date;
import java.util.List;

/**
 * @description: TODO 
 * @author Administrator
 * @date 2025/2/22 18:31
 * @version 1.0
 */
@Mapper
public interface AddressMapper {
    /**
     * 插入用户的收货地址数据
     * @param address 收货地址数据
     * @return 受影响行数
     */
    Integer insert(Address address);
    /**
     * 根据用户id统计地址数量
     * @param uid 用户id
     * @return 匹配的地址数量，如果没有匹配的数据，则返回null
     */
    Integer countByUid(Integer uid);
    /**
     * 根据Uid查询地址详情
     * @param uid 地址id
     * @return 匹配的地址详情，如果没有匹配的数据，则返回null
     */
    List<Address> findByUid(Integer uid);

    Address findByAid(Integer aid);
    Integer updateNonDefault(Integer uid);
    Integer updateDefaultByAid(@Param("aid") Integer aid, @Param("modifiedUser") String modifiedUser, @Param("modifiedTime") Date modifiedTime);
    Integer deleteByAid(Integer aid);
    Address findLastModified(Integer uid);

}
